﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using PiscoSourDominio;
using Dapper;
using PiscoSourSOAPRestServices.Persistencia;

namespace PiscoSourRESTServices.Persistencia
{
    public class UsuarioDAO
    {

        public Usuario ValidaUsuario(string strusuario, string strpass)
        {
            using (var sqlConnection = ConnectionFactory.GetConnection())
            {
                sqlConnection.Open();
                const string sqlQuery = "SELECT * FROM psr_usuario WHERE vchUsuario = @vchusuario AND vchpassword = @vchpassword";
                var usuario = sqlConnection.Query<Usuario>(sqlQuery, new { vchusuario = strusuario, vchpassword = strpass }).SingleOrDefault<Usuario>();

                sqlConnection.Close();

                return usuario;
            }
        }

        public Usuario ObtenerUsuario(string codigo)
        {
            using (var sqlConnection = ConnectionFactory.GetConnection())
            {
                sqlConnection.Open();
                const string sqlQuery = "select * from psr_usuario where vchUsuario=@vchusuario";
                var usuario = sqlConnection.Query<Usuario>(sqlQuery, new { vchusuario = codigo }).SingleOrDefault<Usuario>();

                sqlConnection.Close();

                return usuario;
            }
        }

        public IEnumerable<Usuario> ListarUsuarios()
        {
            using (var sqlConnection = ConnectionFactory.GetConnection())
            {
                sqlConnection.Open();
                var sqlQuery = string.Format(@"Select * from psr_usuario");
                var result = sqlConnection.Query<Usuario>(sqlQuery);
                sqlConnection.Close();
                return result;
            }
        }
    }
}